<?php

//ASCII 转 十六进制
					function asc2hex($str) {
						return '\x'.substr(chunk_split(bin2hex($str), 2, '\x'),0,-2);
					}

					//十六进制 转 ASCII
					function hex2asc($str) {
						$str = join('',explode('\x',$str));
						$len = strlen($str);
						for ($i=0;$i<$len;$i+=2) $data.=chr(hexdec(substr($str,$i,2)));
						return $data;
					}

					/*
					$asc = "哈哈";
					$hex = asc2hex($asc);
					$asc = hex2asc($hex);
					echo "hex : ".$hex;
					echo "
					";
					echo "asc : ".$asc;
					*/


					function nochaoscode($encode, $str) {    
						$str = iconv($encode, "UTF-16BE", $str);    
						for ($i = 0; $i < strlen($str); $i++,$i++) {    
						$code = ord($str{$i}) * 256 + ord($str{$i + 1});    
						if ($code < 128) {    
							$output .= chr($code);    
						} else if ($code != 65279) {    
							$output .= "&#".$code.";";    
						}    
						}    
						return $output;    
					} 

					//将内容进行UNICODE编码，编码后的内容格式：YOKA\u738b （原始：YOKA王）
					function unicode_encode($name)
					{
						$name = iconv('UTF-8', 'UCS-2', $name);
						$len = strlen($name);
						$str = '';
						for ($i = 0; $i < $len - 1; $i = $i + 2)
						{
							$c = $name[$i];
							$c2 = $name[$i + 1];
							if (ord($c) > 0)
							{    // 两个字节的文字
								$str .= '\u'.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16);
							}
							else
							{
								$str .= $c2;
							}
						}
						return $str;
					}

					// 将UNICODE编码后的内容进行解码，编码后的内容格式：YOKA\u738b （原始：YOKA王）
					function unicode_decode($name)
					{
						// 转换编码，将Unicode编码转换成可以浏览的utf-8编码
						$pattern = '/([\w]+)|(\\\u([\w]{4}))/i';
						preg_match_all($pattern, $name, $matches);
						if (!empty($matches))
						{
							$name = '';
							for ($j = 0; $j < count($matches[0]); $j++)
							{
								$str = $matches[0][$j];
								if (strpos($str, '\\u') === 0)
								{
									$code = base_convert(substr($str, 2, 2), 16, 10);
									$code2 = base_convert(substr($str, 4), 16, 10);
									$c = chr($code).chr($code2);
									$c = iconv('UCS-2', 'UTF-8', $c);
									$name .= $c;
								}
								else
								{
									$name .= $str;
								}
							}
						}
						return $name;
					}

?>